Technical Reference - File format

This is a description of the MyAlbum album files (.alb) version 1.20

Album header

Offset Size Description
0 Char x 4 File signature ("MALB" string)
4 Long File version
8 String Album name
  String Album comment
n Date Date the album was last saved
n+4 Date Date the album was created
n+8 Long Thumbnail size in pixel
n+12 Long Slide size in pixel
n+16 Long Margin size in pixel (slide spacing)
n+20 Long Display mode
n+24 Long Slideshow delay tenths of second
n+28 Font Thumbnail font
  Font Full-screen display comment font
  Font Font used for the keywords-tabs
  Color Color used for the background in full-screen mode
  Color Color used for the comment background
  Color Color used for the comment text
  Color Color used for the full comment background
  Color Color used for the full comment text
  Boolean Comment flags Is the comment font transparent (no background)
  String Display string for the thumbnail text
  String Display string for the full-screen comment
  String Display string for the full-screen full-comment
  String Last folder used for adding pictures to the album
  String Display string for the picture Quick Info
  String Album copyright or information text
  String Reserved
  Long Crop mode
  Long Reserved
  Long Reserved
  String Play command for the album
  String Display string for the tool tip
  String reserved
  Long Number of keywords
    Keyword block:
  String Keyword name
  Short Keyword internal id
  Long Keyword status (see the KWS_xxx constants)
  String Keyword comment
  String Keyword dynamical expression
  Long Keyword color (reserved)
  Short Parent keyword id (0: top-level keyword)
  ..... next keywords
  Long Number of custom fields
    Custom Field block:
  String Custom field name
  Short Custom field internal id
  Short Custom field type (0:string, 1:date, 2:time, 6:list)
  Long Custom field (see the KWS_xxx constants)
  String Custom field comment
  String Custom field dynamical expression (reserved)
  Long Custom field color (reserved)
  Short Number of items in the list (used only if type=6, 0 otherwise)
  String If type=6, strings of the list items (x count in the previous field)
  .... next custom fields
  Long Number of pictures
  .... picture blocks
 Long Number of columns in the List View
And for each of the columns:
 Long   Width of the column (unused)
 String   Header of the column
 String   Display String of the column
 String   Write Display String of the column
 Long   Status of the column
 StringExport: output folder
 LongExport: number of sub-folder to take into account
 LongExport: page size in thumbnails (width)
 LongExport: page size in thumbnails (height)
 LongExport: page spacing
 LongExport: file type of the exported thumbnails (use TYPE_xxx constants)
 LongExport: prefix or suffix the name of the exported thumbnails (use TYPE_xxx constants)
 StringExport: string to add to the name of the exported thumbnails
 ColorExport: background color
 ColorExport: text color
 StringExport: Display String of the page title
 StringExport: Display String of the page subtitle
 StringExport: Display String of the picture filename
 StringExport: Display String of the picture comment
 StringExport: Display String of the picture tooltip
 StringExport: Display String of the page footer
 LongExport: flags for using or not the above Display Strings
 StringConvert & resize: output folder

Picture block

Offset Size Description
0 Long Picture status
4 String Full pathname of the picture
  Long Position in the above string of the base filename
  Long Size of the file containing the picture in bytes
  Date Date the picture was last modified
  String Full comment of the picture
  String URL associated to the picture
  String Play command for background music
  Long Width of the picture in pixel
  Long Height of the picture in pixel
  Long Color depth of the picture (number of bits per pixel)
  Long Reserved
  Long Reserved
  Long Size in bytes of the thumbnail image
  Long Size in bytes of the compressed thumbnail image (for compressed album)
  Byte x n Thumbnail image (n is either the uncompressed or the compressed size).
  Long Number of keywords attached to the picture
  Short x n List of the id of the attached keywords
  Long Number of custom fields defined for this picture
  Short Custom field id
  Short Custom field type
  String If type is string, value of the custom field
  Date If type is date or time, date or time value of the custom field
  .... next custom field value
  Rectangle Cropping rectangle
Long Rotation (reserved for future use)

Data type used

Simple types

Char: A single byte

Short: A double byte value

Long: A four byte value

String: String prefixed by its length (if length <255, length is coded with a single byte, if < 0xfffe, length is 3 byte long: a 0xff byte followed by the length itself coded as a short; otherwise, length is 7 byte long, 3 0xff bytes followed by the length itself coded as a long).

Struct type

Font

Offset Size Description
0 Long Height of the font
4 Long Font weight (400 is normal, 700 is bold)
8 Char Specifies an italic font if set to TRUE
9 Char Specifies an underlined font if set to TRUE
10 Char Specifies a strikeout font if set to TRUE
11 String Typeface name of the font

Color

Offset Size Description
0 Char Intensity value for the red component
1 Char Intensity value for the green component
2 Char Intensity value for the blue component
3 Char Reserved (0)